import type { Node, CustomEvent } from '@vue-flow/core'

// 话术类型
export enum ScriptTypes {
  // 正常问题话术
  NormalQuestion = 1,
  // 客户否定后回答
  NegativeReply = 2,
  // 未听清客户回答
  UnClearReply = 3
}

// 回答方式
export enum ReplyTypes {
  // 回答是否
  YesOrNo = 1,
  // 不需要回答
  None = 2,
  // 开放式回答
  Open = 3,
  // 证件托举
  Certificate = 4,
  // 客户朗读确认
  Confirm = 5
}

// 话术详情
export interface ScriptInfo {
  // 话术ID
  id: number
  // 话术简称
  name: string
  // 话术内容
  info: string
  // 答复类型
  isReply: ReplyTypes
  // 话术类型
  scriptType: ScriptTypes
  // 备注
  remark: string
  // 创建时间
  createTime: number
}

export interface FlowCustomData {
  scriptInfo?: Partial<ScriptInfo>
  label?: string
  type: 'data' | 'inout' | 'suffix'
}

export type FlowCustomNode = Node<FlowCustomData, Record<string, CustomEvent>, string>
